package com.joysuch.wwyt.mh.service;

import com.joysuch.wwyt.bp.entity.AlarmMessage;
import com.joysuch.wwyt.bp.entity.InspectExceptionAlarmMesage;
import com.joysuch.wwyt.mh.bean.MonitorWebSocketPointAlarmData;
import com.joysuch.wwyt.mh.entity.MhAlarmMessage;
import com.joysuch.wwyt.mh.entity.MhMonitoringPoint;
import com.joysuch.wwyt.risk.entity.RiskDistrict;
import com.joysuch.wwyt.risk.entity.RiskEvaluationAlarmMesage;

import java.util.List;

public interface MonitorPointDataWebSocketService {

    void getPointAlarmMessage(List<MhAlarmMessage> messages, String flagType);

    void setMonitorPointDataWebSocketAlarmData(List<MhAlarmMessage> alarmList, String flagType);

    void getDistrictAlarmMessage(List<RiskEvaluationAlarmMesage> messages, String flagType);

    void sendCustomizeMonitorPoint();

    MonitorWebSocketPointAlarmData covertPointAlarmData(MhMonitoringPoint mhMonitoringPoint, MonitorWebSocketPointAlarmData data, MhAlarmMessage message);

    /**
     * 巡检报警
     *
     * @param inspectList
     * @param handle
     * @param tenentId
     * @param orgCode
     */
    void getInspectAlarmMessage(List<InspectExceptionAlarmMesage> inspectList, String handle, Long tenentId, String orgCode);

    /**
     * @param orgCode  必填
     * @param tenentId 必填
     */
    void getWorkflowView(String orgCode, Long tenentId, String bizName);

    /**
     * AI报警
     *
     * @param alarmMessageList
     * @param flagType
     */
    void getAIAlarmMessage(List<AlarmMessage> alarmMessageList, String flagType, Long tenentId, String orgCode);

    /**
     * 大屏区域列表
     *
     * @param districtList
     * @param flagType
     */
    void getDistrictList(List<RiskDistrict> districtList, String flagType,String orgCode,Long tenentId);

    /**
     * 大屏风险点总数
     *
     */
    void getRiskPointCount(String orgCode,Long tenentId);
}
